# 导入 PyTorch 的 Dataset 类
from torch.utils.data import Dataset

# 定义一个自定义数据集类，继承自 PyTorch 的 Dataset 类
class MyDataset(Dataset):
    def __init__(self):
        # 打开文件 "data/chinese_poems.txt"，并读取所有行
        with open("data/chinese_poems.txt", encoding="utf-8") as f:
            lines = f.readlines()
        # 去除每行的首尾空白字符（如换行符、空格等）
        lines = [i.strip() for i in lines]
        # 将处理后的诗句列表存储为类的属性 self.lines
        self.lines = lines

    def __len__(self):
        # 返回数据集的长度，即诗句的数量
        return len(self.lines)

    def __getitem__(self, item):
        # 根据索引 item 获取对应的一句诗
        return self.lines[item]

# 主程序入口
if __name__ == '__main__':
    # 创建 MyDataset 类的实例
    dataset = MyDataset()
    # 遍历整个数据集，打印每一句诗
    for data in dataset:
        print(data)
#思路总结定义了一个自定义数据集类 MyDataset，用于加载和处理中文诗词文件 chinese_poems.txt。通过实现 __len__ 和 __getitem__ 方法，使得数据集可以像标准的 PyTorch 数据集一样被访问和使用。
